SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[spMigServicios]
@documento int,
@doc int,
@ids int
 AS

--declare @documento int
--declare @doc int
--declare @ids int
declare @idagente int

Select @idagente = idAgente from tb_Agentes where documento = @documento
delete from tb_SubServiciosAgentes where Servicioagente in (Select idServicioAgente from tb_ServiciosAgentes where agente = @idAgente and ServicioAnterior = @ids)
delete from tb_licenciashistoricas where idServicio in (Select idServicioAgente from tb_ServiciosAgentes where agente = @idAgente and ServicioAnterior = @ids)
delete from tb_ServiciosHistoricos where ServicioAgente in (Select idServicioAgente from tb_ServiciosAgentes where agente = @idAgente and ServicioAnterior = @ids)
delete from tb_ServiciosAgentes where agente = @idAgente and ServicioAnterior = @ids

insert tb_ServiciosAgentes
Select (Select idAgente from tb_Agentes a where left(s.documento, len(s.documento)-1) = a.documento) Agente,
--case (Select max(NroDeOrden) from tb_ServiciosAgentes serv, tb_Agentes a where a.documento = left(s.documento, len(s.documento)-1) and serv.Agente = a.idAgente) when null then 1 else (Select max(NroDeOrden) from tb_ServiciosAgentes serv, tb_Agentes a where a.documento = left(s.documento, len(s.documento)-1) and serv.Agente = a.idAgente)+1 end NroOrden,
null NroDeOrden,
null CargoSalarial,
s.asignatura Asignatura,
s.horas Horas,
(Select idOrganizaciones from tb_Organizaciones org where org.cuise = s.cuise) UbicacionOrig,
case s.sitrev when 'T' then 1 when 'I' then 2 when 'F' then 3 when 'S' then 4 end SituacionRevista,
s.falta FechaAlta,
case s.baja when 0 then 'N' else 'S' end baja,
case s.baja when 0 then null else s.fbaja end FechaBaja,
case s.baja when 0 then null else s.fbaja end FechaTermino,
(Select max(idNorma) from tb_Normas where descripcion = s.resalta and tipoNorma = 1) NormaAlta,
(Select max(idNorma) from tb_Normas where descripcion = s.resbaja and TipoNorma = 2) NormaBaja,
1 CausaAlta,
case s.baja when 0 then null else 1 end CausaBaja,
'S' liquida,
1 TipoDeServicio,
1 Sistema,
(Select regimenlaboral from TempCargos where codigo = s.cargo) RegimenLaboral,
2 Financiamiento,
case s.sitrev when 'T' then 1 when 'I' then 1 else 4 end Presupuesto,
12 Finalidad,
12 TipoDeFuncion,
12 RegimenSalarial,
null RegimenDesignacion,
null LegajoSalarial,
(Select afiliado from Mig..Agentes where documento = s.documento) ClavePSalarial,
4 EstadoLiqExt,
null Vacante,
null ServicioLigado,
null ServicioQueSuple,
null CategoriaTitulo,
null EstaEnProcesoDeTitularizacion,
null CuentaAcumulacion,
null EsIncremHoras,
s.ids ServicioAnterior,
null,
null,
null
from vw_Servicios s
where documento = @doc and ids = @ids



GO
